﻿using System.Collections.Generic;
using Common;

namespace CSC440TeamOne.CSC440BusinessService.Interface.Services
{
    public interface IDataService
    {
        IEnumerable<TrackableHealthParameter> LoadTrackableHealthParameterProgressForUser(User user);

        IEnumerable<HealthGoal> FindHeathGoalsForUser(User user);

        IEnumerable<TrackableHealthParameter> LoadDailyTrackableHealthParametersForUser(User user);

        void SaveUserHealthGoal(User user, HealthGoal healthGoal);

        IEnumerable<HealthParameter> LoadAllHealthParameters();

        HealthParameter FindHealthParameterById(int healthParameterID);

        void Update(HealthParameter healthParameter);

        int InsertDailyHealthParameterForUser(TrackableHealthParameter dailyHealthParameter, User user);

        IEnumerable<UserManualSection> LoadAllUserManualSections();

        IEnumerable<UserManualContent> FindForUserManualSection(UserManualSection userManualSection);

        int InsertUserManualSection(UserManualSection currentUserManualSection);

        void UpdateUserManualSection(UserManualSection currentUserManualSection);

        int InsertUserManualContent(UserManualContent userManualContent);

        void UpdateUserManualContent(UserManualContent userManualContent);

        Recipe FindRecipeByID(int recipeID);

        List<TrackableHealthParameter> LoadCurrentTrackableHealthParametersForUser(User u);

        List<Question> populateQuestionList();

        List<Recipe> LoadListOfSubmittedRecipes();

        MyFoodTrackerViewModel LoadMyFoodTrackerRecipes();

        List<Recipe> LoadPrintRecipe(int recipeID);

        Recipe LoadPrintRecipe2(int id);
    }
}
